package hcn.protocol.brandnew.feiyong.feiyongqingdan;

import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import hcn.protocol.brandnew.BaseRequest;
import lombok.Data;
import org.atag.sysrouter.annotation.DictionaryMapping;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;


/**
 * 住院费用信息查询-请求消息 - ODS_04030005
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "MsgBody")
@XmlAccessorType(XmlAccessType.FIELD)
public class ListHospitalizationPaymentDateRequest extends BaseRequest {

    /**
     * 医院ID
     */
    @XmlElement(name = "VisitOrganization")
    private String visitOrganization;
    /**
     * 证件类型
     */
    @XmlElement(name = "IdCardCode")
    @DictionaryMapping(id = "CV02_01_101")
    private String idCardCode;
    /**
     * 证件号码
     */
    @XmlElement(name = "IdCard")
    private String idCard;
    /**
     * 查询类型
     */
    @XmlElement(name = "QueryType")
    private String queryType;
    /**
     * 卡类型
     */
    @XmlElement(name = "MedicalCardType")
    @DictionaryMapping(id = "rmp.dic.medicalCardType")
    private String medicalCardType;
    /**
     * 卡号
     */
    @XmlElement(name = "MedicalCardId")
    private String medicalCardId;
    /**
     * 患者编号
     */
    @XmlElement(name = "SourcePatientId")
    private String sourcePatientId;
    /**
     * 住院号
     */
    @XmlElement(name = "VisitId")
    private String visitId;
    /**
     * 费用开始时间
     */
    @XmlElement(name = "SettleBeginDateTime")
    @XmlJavaTypeAdapter(DateTimeAdapter.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date settleBeginDateTime;
    /**
     * 费用结束时间
     */
    @XmlElement(name = "SettleEndDateTime")
    @XmlJavaTypeAdapter(DateTimeAdapter.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date settleEndDateTime;


    @XmlElement(name = "MedicalRecordId")
    private String medicalRecordId;

}
